<?php
require_once("XmlControls.php");

class XmlSubappalti extends XmlControls{
	
	static $instance;
	
	private function __construct() {
		
	}

	static function getInstance(){
		
		if(self::$instance == NULL){
			
			self::$instance = new XmlSubappalti();
		}
		
		return self::$instance;
	}

	final public function GetData($conn,$cig,$num_progr,$num_progr_scheda,$tipo_invio=null) {
  //SOVRASCRIVO IL NUM_PROGR_SCHEDA PER ASSOCIARE CORRETTAMENTE I MSG DI ERRORE
  $_SESSION['XML__NUM_PROGR_SCHEDA']=$num_progr_scheda;
  
  //GESTIONE INVIO DI SCHEDE MULTIPLE (VERIFICA NUMERO DI SCHEDE INVIABILI E SEQUENZA)
  //NON NECESSARIO 06062011
  /*if($tipo_invio!=null){
   $query_multi="SELECT NUM_PROGR_SCHEDA FROM SUBAPPALTI WHERE CIG='".$cig."' AND SCHEDA_CHIUSA IN ('N') 
                 AND ARCHIVIATA !='S' AND NUM_PROGR='".$num_progr."' ORDER BY NUM_PROGR_SCHEDA";
   $ret=$conn->doquery_oracle_import($query_multi, "select");
   $num_progr_scheda_limit=$ret[1][1];
  } */ 
  
		$rs=array();

		$query_data = "SELECT CIG, CODFISC_SUBAPPALTO, DATA_AUTORIZZAZIONE_SUBAPPALTO, LAVORO_SUBAPPALTO , 
									 IMPORTO_PRESUNTO_SUBAPPALTO , CATEGORIA_SUBAPPALTO_ID , IMPORTO_EFFETTIVO_SUBAPPALTO, SCHEDA_CHIUSA , 
									 UTENTE_ID , DATA_CHIUSURA, NUM_PROGR, CPV_SUBAPPALTO_ID , DATA_SCADENZA_INVIO, NUM_PROGR_SCHEDA, ID ,ID_SIMOG,
									 CODICE_FISCALE_AGGIUDICATARIA
									 FROM SUBAPPALTI WHERE CIG='".$cig."' AND SCHEDA_CHIUSA IN ('S') AND ARCHIVIATA !='S' AND NUM_PROGR='".$num_progr."'";
    
      		
		if ($num_progr_scheda!="" AND $tipo_invio == null){
			$query_data.=" AND NUM_PROGR_SCHEDA='".$num_progr_scheda."'";
		}
		
		if($tipo_invio!=null){
		 //NON NECESSARIO 06062011 
   /*if($num_progr_scheda_limit!=""){
    $query_data.=" AND NUM_PROGR_SCHEDA < ".$num_progr_scheda_limit;
   } */
   
   $query_data.=" ORDER BY NUM_PROGR_SCHEDA";
  }

		$rs=$conn->doquery_oracle_import($query_data, "select");

		$rs_data=array();
		$i=0;
		
		foreach($rs as $data){
		
			$rs_data[$i]["CIG"]=$data["1"];
			$rs_data[$i]["CODFISC_SUBAPPALTO"]=$data["2"];
			$rs_data[$i]["DATA_AUTORIZZAZIONE_SUBAPPALTO"]=$data["3"];
			$rs_data[$i]["LAVORO_SUBAPPALTO"]=$data["4"];
			$rs_data[$i]["IMPORTO_PRESUNTO_SUBAPPALTO"]=$data["5"];
			$rs_data[$i]["CATEGORIA_SUBAPPALTO_ID"]=$data["6"];
			$rs_data[$i]["IMPORTO_EFFETTIVO_SUBAPPALTO"]=$data["7"];
			$rs_data[$i]["SCHEDA_CHIUSA"]=$data["8"];
			$rs_data[$i]["UTENTE_ID"]=$data["9"];
			$rs_data[$i]["DATA_CHIUSURA"]=$data["10"];
			$rs_data[$i]["NUM_PROGR"]=$data["11"];
			$rs_data[$i]["CPV_SUBAPPALTO_ID"]=$data["12"];
			$rs_data[$i]["DATA_SCADENZA_INVIO"]=$data["13"];
			$rs_data[$i]["NUM_PROGR_SCHEDA"]=$data["14"];
			$rs_data[$i]["ID"]=$data["15"];
			$rs_data[$i]["ID_SIMOG"]=$data["16"];
			$rs_data[$i]["CODICE_FISCALE_AGGIUDICATARIA"]=$data["17"];
			
			$i=$i+1;
		}
		
		return $rs_data;
		
	}
	
	final public function CreateXml($rs,$conn) {

		/*
		echo "<pre>";
		print_r($rs);
		echo "</pre>";
		exit;
		*/
					
		$xml.='<DatiSubappalti>';
		$rs_data[1]=$rs["data"];
		foreach($rs_data as $record_key  => $record_value){

		 foreach($record_value as $record){

   //SOVRASCRIVO IL NUM_PROGR_SCHEDA PER ASSOCIARE CORRETTAMENTE I MSG DI ERRORE
   $_SESSION['XML__NUM_PROGR_SCHEDA']=$record["NUM_PROGR_SCHEDA"];

			$CF_DITTA=$this->WorkCF("CF_DITTA",$record["CODFISC_SUBAPPALTO"],"Y");																//presenza A* - V
			$DATA_AUTORIZZAZIONE=$this->WorkData("DATA_AUTORIZZAZIONE",$record["DATA_AUTORIZZAZIONE_SUBAPPALTO"]);//presenza A - V
			$OGGETTO_SUBAPPALTO=$this->WorkStringa("OGGETTO_SUBAPPALTO",$record["LAVORO_SUBAPPALTO"],"1000");			//presenza A - V
			$IMPORTO_PRESUNTO=$this->WorkImporto("IMPORTO_PRESUNTO",$record["IMPORTO_PRESUNTO_SUBAPPALTO"],"Y"); 	//presenza A* - V*
			
			//MOD_AUTH  $IMPORTO_EFFETTIVO=$this->WorkImporto("IMPORTO_EFFETTIVO",$record["IMPORTO_EFFETTIVO_SUBAPPALTO"],"Y");//presenza A* - V*
			$IMPORTO_EFFETTIVO=$this->WorkImporto("IMPORTO_EFFETTIVO",$record["IMPORTO_EFFETTIVO_SUBAPPALTO"]);
			
			$ID_CATEGORIA=$this->WorkCategoriaType("ID_CATEGORIA",$record["CATEGORIA_SUBAPPALTO_ID"],$conn);			//presenza A - V						
			$ID_CPV=$this->WorkStringa("ID_CPV",$record["CPV_SUBAPPALTO_ID"],"12","Y"); 													//presenza A* - V
			$ID_SCHEDA_LOCALE=$this->WorkNumero("ID_SCHEDA_LOCALE",$record["ID"]);																
			$ID_SCHEDA_SIMOG=$this->WorkNumero("ID_SCHEDA_SIMOG",$record["ID_SIMOG"]);
			$CODICE_FISCALE_AGGIUDICATARIA=$this->WorkCF("CODICE_FISCALE_AGGIUDICATARIA",$record["CODICE_FISCALE_AGGIUDICATARIA"]);
			
			$xml.='<Subappalto tns:CF_DITTA="'.$CF_DITTA.'"';

			if($DATA_AUTORIZZAZIONE!=''){
				$xml.=' tns:DATA_AUTORIZZAZIONE="'.$DATA_AUTORIZZAZIONE.'"';
			}
			if($OGGETTO_SUBAPPALTO!=''){
				$xml.=' tns:OGGETTO_SUBAPPALTO="'.$OGGETTO_SUBAPPALTO.'"';
			}
			
			$xml.=' tns:IMPORTO_PRESUNTO="'.$IMPORTO_PRESUNTO.'"';
			
			//MOD_AUTH  $xml.=' tns:IMPORTO_EFFETTIVO="'.$IMPORTO_EFFETTIVO.'"';
            if($IMPORTO_EFFETTIVO!=''){
				$xml.=' tns:IMPORTO_EFFETTIVO="'.$IMPORTO_EFFETTIVO.'"';
			}
			
			
			if($ID_CATEGORIA!=''){
				$xml.=' tns:ID_CATEGORIA="'.$ID_CATEGORIA.'"';
			}
  
            //CAMPI AGGIUNTI NELLA VERSIONE 3.02.16 MASSLOADER
      		if($CODICE_FISCALE_AGGIUDICATARIA!=''){
			 $xml.=' tns:CODICE_FISCALE_AGGIUDICATARIO="'.$CODICE_FISCALE_AGGIUDICATARIA.'"';
			} 
      //$xml.=' tns:CODICE_STATO=""';                  //SOGGETTO NAZIONALE : VALORIZZARE = ''
      //FINE CAMPI AGGIUNTI NELLA VERSIONE 3.02.16 MASSLOADER 
    
			$xml.=' tns:ID_CPV="'.$ID_CPV.'"';
	
			/*if ($ID_SCHEDA_LOCALE!=''){
				$xml.=' tns:ID_SCHEDA_LOCALE="'.$ID_SCHEDA_LOCALE.'"';
			}
			if ($ID_SCHEDA_SIMOG!=''){
				$xml.=' tns:ID_SCHEDA_SIMOG="'.$ID_SCHEDA_SIMOG.'"';
			}*/
			/*if ($ID_SCHEDA_SIMOG!='')
			{
				$xml.=' tns:ID_SCHEDA_SIMOG="'.$ID_SCHEDA_SIMOG.'"';
			}
			else
			{		  
			   $query_data_DC ="SELECT  ID_SIMOG FROM DATI_COMUNI WHERE CIG='".$record["CIG"]."' AND NUM_PROGR='".$record["NUM_PROGR"]."'";
               $rsDC=$conn->doquery_oracle_import($query_data_DC, "select");
			  if($rsDC[1][1]=="")
			  {
                if ($ID_SCHEDA_LOCALE!='')
                {
			      $xml.=' tns:ID_SCHEDA_LOCALE="'.$ID_SCHEDA_LOCALE.'"';
			    }
		      }
		    }*/
		    $xml.=' tns:ID_SCHEDA_LOCALE="'.$ID_SCHEDA_LOCALE.'"';			
      	
			$xml.='/>';
     
     }
     
		}

		$xml.='</DatiSubappalti>';		 

		return $xml;

	}

}
?>